package com.aisino.springai.demos.chat.controller;

import jakarta.annotation.Resource;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author guochuantao
 * @version 1.0
 * @description
 * @since 2025/4/8 上午10:17
 */
@RestController
@RequestMapping("/mcp")
public class McpController {
    @Resource(name = "mcpChatClient")
    private ChatClient mcpChatClient;

    @RequestMapping("/simple")
    public String simpleChat() {
        return mcpChatClient.prompt().user("你是谁").call().content();
    }

    /**
     * 访问文件
     * http://localhost:8080/mcp/file?message=你能解释一下 spring-ai-mcp-overview.txt 文件的内容吗？文件位置在src/main/resources/data里
     * 除了指定文件位置，也可以让它递归寻找文件
     * http://localhost:8080/mcp/file?message=请总结 spring-ai-mcp-overview.txt 文件的内容，并将其以 Markdown 格式存储到新的 summary.md 文件中？
     * http://localhost:8080/mcp/file?message=你能解释一下 data.txt文件的内容吗？
     * http://localhost:8080/mcp/file?message=帮我总结一下并写入到一个summery.md文档中
     */
    @RequestMapping("/file")
    public String fileChat(@RequestParam("message") String messages) {
        return mcpChatClient.prompt()
                .user(messages)
                .call().content();
    }


}
